package GrammarBasics;

/**
 * @author chihb
 * @create-time 2024/6/19 15:25
 * @description
 */

/**
 * 数据类型及自动转化
 */
public class DataType {
    public static void main(String[] args) {
        /**
         * 八大数据类型
         * byte
         * int
         * short
         * long
         * String
         * Double
         * Float
         * Boolean
         */
        //自动类型转换
        byte a=12;
        int b=a;
        System.out.println(b);  //小范围类型可以自动转换为大变量的类型

        /*
        Double c=10.2;
        int d=c;
        大范围类型不可以自动转换为大变量的类型
        */

        /**
         * 表达式的最终结果类型由表达式中最高类型决定
         * 在表达式中,byte\short\char是直接转化成int类型参与计算
         */
        byte f=10;
        int k=20;
        long l=30;
        long re=f+k+l;
        System.out.println(re);

        byte p=10;
        byte i=10;
        int d=p+i;
        System.out.println(d);

        /**
         * 强制类型转换，解决大范围的数据类型转换成小范围的数据类型
         * 快捷键：ATL+ENTER
         * 问题：1.可能出现数据丢失
         *      2.小数转整数后小数点不保留
         */
        int o=20;
        byte q= (byte) o;

    }
}
